public class Main {
    public static void main(String[] args) {
        // 此处用的是Junit5
        // 为什么 学历 selenium 还要学习 Junit
        // selenium 是自动化测试框架
        // Junit 是单元测试框架

        // 拿着一个技术写自动化测试用例 （Selenium 3 ） // 3 版本
        // 拿着一个技术管理已经编写好的测试用例 （Junit 5） // 5 版本


        // Junit 相关的技术
        // Junit 是 针对 Java 的一个单元测试框架
        // 注解
        // @Test
        // 通过这个注解 就可以表示当前这个方法是一个测试用例
        // @Disabled
        // @BeforeAll， @AfterAll， @BeforeEach,@AfterEach
        // 如果做 UI 自动化， 通常情况下， 创建驱动， 打开网页， 放到 BeforeAll 里面
        // 关闭浏览器 放到 AfterAll

        // 加入 @BeforeEach,@AfterEach 这两个注解之后， 运行结果就发生了变化
        // 这是有一个问题
        // 如果有 5 个测试用例， BeforeEach 跑几次， BeforeAll 跑几次
        // 如果有 5 个测试用例， AfterEach 跑几次， AfterAll 跑几次
        // 答案：
        // BeforeEach AfterEach 都要跑五次
        // BeforeAll AfterAll 只跑一次

        // BeforeEach 表示在每一个测试用例之前 都要跑一次对应的一个方法
        // AfterEach 表示在每一个测试用例之后 都要跑一次对应的一个方法


        // 参数化
        // 单参数
        // 多参数
        // CSV获取参数
        // 方法获取参数

        // 也需要加上响应的 maven 依赖
        // 搜索 Parameterized 找到 JUnit Jupiter Params
        // 要和 Junit 的版本保持一致



        // 断言
        //  断言相等
        //  断言不相等
        //  断言为空
        //  断言不为空


        //测试套件
        // 通过 class 运行测试用例
        // 通过包运行测试用例
        // 需要引入 maven 依赖
        // 第一个依赖： junit-jupiter-api  （注解依赖）
        // 第二个依赖： junit-jupiter-params （参数化所需要的依赖）
        // 第三个依赖： junit-platform-suite  （测试套件）
        // 第四个依赖： junit-jupiter-engine   （用 suite 的时候必须要用到这个 engine, 以防止代码报错） （引擎）

    }
}
